package com.hxkj.mapper;

import com.hxkj.domain.po.Navigation;
import com.platform.common.domain.annotation.EnableDataSource;
import org.springframework.stereotype.Repository;
import java.util.List;

/**
* 数据库操作接口
*
* @author: chenwei
* @version: 1.0
* @datetime: 2018-06-05 19:32:55
*
*/
@Repository("navigationMapper")
public interface NavigationMapper {

    /**
    *
    * 根据主键查询Navigation对象
    *
    * @param navigationId
    * @return Navigation对象
    */
    @EnableDataSource("slave")
    Navigation selectByPrimaryKey(Long navigationId);

    /**
    *
    * 根据查询条件查询符合条件的Navigation对象
    *
    * @param navigation
    * @return 符合条件的Navigation对象List
    */
    @EnableDataSource("slave")
    List<Navigation> select(Navigation navigation);

    /**
    *
    * 根据主键删除Navigation对象
    *
    * @param navigationId
    * @return 影响条件数
    */
    @EnableDataSource("master")
    int deleteByPrimaryKey(Long navigationId);

    /**
    *
    * 根据条件删除符合条件的Navigation对象
    *
    * @param navigation
    * @return 影响条件数
    */
    @EnableDataSource("master")
    int delete(Navigation navigation);

    /**
    *
    * 插入Navigation对象
    *
    * @param navigation
    * @return 影响条件数
    */
    @EnableDataSource("master")
    int insert(Navigation navigation);

    /**
    *
    * 更新Navigation对象
    *
    * @param navigation
    * @return 影响条件数
    */
    @EnableDataSource("master")
    int update(Navigation navigation);

    /**
     * 用于在更新时判断更新的栏目名称是否已经存在于数据库中
     * @param navigation
     * @return
     */
    @EnableDataSource("slave")
    Navigation selectNavigationName(Navigation navigation);

    /**
     * 保存对象后返回该对象
     * @param navigation
     * @return
     */
    @EnableDataSource("master")
    int saveNavigation(Navigation navigation);

    /**
    * @author Mr.zheng
    * @Description selectNavigationByColumn 根据链接查询导航栏数量
    * @Date 16:12 2018/7/26
    * @Param [navigation]
    * @return int
    **/
    int selectNavigationByColumn(Navigation navigation);
}
